1. Field of the Invention
The present invention relates generally to the field of computer systems having a graphical user interface, such as Windows(trademark). More particularly, the invention relates to an input device, such as a keyboard, having unique keys to respond to routine software queries normally satisfied with a mouse click by selecting a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d screen button.
2. Description of Related Art
With the advancement of graphical computer operating systems (OS) such as Microsoft(copyright) Windows(trademark) and Apple(copyright) MacOS(trademark), came the instant adoption of a pointing device as a standard means of communicating with the computer system. Pointing devices, such as a mouse, trackball, touchpad, and pointing stick provide computer users an easy mechanism to position a cursor anywhere on the screen. Generally, pointing devices also include at least one general-purpose electro-mechanical key to select on-screen xe2x80x9cvirtualxe2x80x9d buttons placed there by the requesting OS or application (hereinafter application). This methodology provides an excellent way of presenting information to users and receiving command and control feedback from the user.
However, sometimes the graphical environment can be an obstacle to efficiency. Sometimes the application will request input that requires the user to type in a filename or such, but more routinely the application simply requests a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d response. This can often get in the way of efficiency or lead to an unpleasant experience.
For example, users performing word processing functions are often most efficient if all computer interaction can be performed from the keyboard. Inefficiencies are introduced when the user is forced to move her hand from the keyboard to the pointing device to provide feedback to the computer. Furthermore, the task of constantly moving from keyboard to mouse to keyboard can be annoying and tiresome.
Not being unaware of this problem, software manufacturers have sometimes designed their applications to provide a built-in mechanism using standard keys to easily respond to a routine request. For example, if xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d and xe2x80x9ccancelxe2x80x9d buttons are placed on the screen for the user to respond to, the application may allow a xe2x80x9cyesxe2x80x9d response to be indicated by pressing the xe2x80x9cYxe2x80x9d or xe2x80x9cALT-Yxe2x80x9d key on the keyboard. Unfortunately, this method is not universally accepted by all software. Other applications may require the user to press the TAB key until the xe2x80x9cyesxe2x80x9d button is focused. When in focus, pressing the ENTER key will indicate a xe2x80x9cyesxe2x80x9d response. Yet other applications may provide no keyboard alternative at all. Thus, no consistent method or mechanism exists. Furthermore, even though software sometimes provides an easy way for users to respond to routine input requests, users are often unaware of the keyboard alternative.
Keys have been added to keyboards for other purposes. One such example is found in copending U.S. patent application Ser. No. 09/093,246, entitled xe2x80x9cRapid Network Access Computer System,xe2x80x9d filed Jun. 8, 1998 where there is described a system, including a keyboard or similar input device, providing dedicated keys or sensors for launching specific software applications and logging onto specific sites in a network.
There is a need, therefore, for an improved technique for responding to routine software requests in a computer system, particularly applications requesting a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d response. There is a particular need for a simple and straightforward, user-friendly system for rapidly responding to such applications, without the need to move ones hand from the keyboard to the pointing device and back again.
The preferred embodiment of the present invention includes an input device for a computer system comprising one or more general-purpose keys and at least one unique response key. Each unique key corresponds to specific user feedback in response to a query from software. Each unique key provides a unique signal when activated, which is communicated to the computer system by a device driver for receipt by the software. The unique keys correspond to responses to routine software requests that may require a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d response from the user. A xe2x80x9cclose-and-savexe2x80x9d key is also provided to avoid the xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d query when closing a file that has not been saved. In one embodiment, the input device is a keyboard with the one or more general-purpose keys being a matrix of keys and the unique keys being positioned in a location easily accessible with respect to the matrix of keys.
In another variation, the present invention includes a computer system having a processor for executing a software application, an input/output controller and an input device coupled to the input/output controller. The input device includes one or more general-purpose keys and at least one unique response key. Each unique key corresponds to a predetermined answer in response to a query from a software application. Each unique key provides a unique signal when activated, which is communicated to the computer system by a device driver for receipt by the software application. The unique keys correspond to responses to routine software requests that may require a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d response from the user. A xe2x80x9cclose-and-savexe2x80x9d key is also provided to avoid the xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d query when closing a file that has not been saved. In one embodiment, the input device is a keyboard with the one or more general-purpose keys being a matrix of keys and the unique keys being positioned in a location easily accessible with respect to the matrix of keys. The software may be running under a windows operating system where the queries from software are presented in the form of a dialog box on a monitor. The computer system may also include a hard disk drive for storing the driver and software application.
The present invention may also include a method for rapidly responding to routine software request. Such method may include the steps of: actuating a unique rapid response key on a keyboard in response to a software request; translating the actuation into a scan code; providing the scan code to a central processing unit; the central processing unit determining whether the scan code is a unique rapid response key, including a CLOSE-AND-SAVE key; translating the scan code into a pre-determined response acceptable by the software; communicating the response to the software; and the software saving a file and closing the file, if the response corresponds to the CLOSE-AND-SAVE key. The unique keys may also correspond to responses to routine software requests that require a xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d response from the user. The routine software requests may be presented to the user in the form of a dialog box on a monitor, and the dialog box may be closed in response to receipt of the pre-determined response.
The present invention may also include a keyboard having a housing, a matrix of general-purpose keys, and at least one unique response key. Each unique key corresponds to a predetermined answer in response to a query from software. Each unique key provides a unique signal when activated. One of the unique response keys may be a CLOSE-AND-SAVE key for causing a software application operating on the computer system to save a file and close the file. Other keys may correspond to xe2x80x9cyes,xe2x80x9d xe2x80x9cno,xe2x80x9d or xe2x80x9ccancelxe2x80x9d responses. The keyboard also includes a device driver for operation on the computer system. The driver is responsive to the unique signal to communicate the specific user feedback to the software application. One of the general-purpose keys may be an escape key with the unique keys positioned above the escape key. One of the general-purpose keys may be a space bar with the unique keys positioned below the space bar.